package com.providersave.mapper;

import org.apache.ibatis.annotations.Param;
import pojo.StockInfo;

import java.util.List;

public interface StockInfoMapper {
    //根据库存信息集合添加多条记录
    Integer addStockInfo(StockInfo StockInfo);
    //根据库存信息Id删除记录
    Integer removeStockInfo(Long id);
    //根据库存信息对象修改记录
    Integer modifyStockInfo(StockInfo stockInfo);
    //根据库存信息对象多条件分页查询记录
    List<StockInfo> findStockInfoPagingByCondition(StockInfo stockInfo,@Param("pageIndex") Integer pageIndex,@Param("pageSize")  Integer pageSize);
    //根据库存信息对象多条件查询总记录数
    Integer findStockInfoCountByCondition(StockInfo stockInfo);

    //外部调用接口
    //分页查询所有可用的库存信息记录
    List<StockInfo> findUsableStockInfoPaging(@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize);
    //查询所有可用库存信息的总记录数
    Integer findUsableStockInfoCount();
    //根据商品Id查询可用的库存信息记录
    List<StockInfo> findStockInfoByGoodsId(Long goodsId);
    //根据商品Id查询可用的库存信息记录
    StockInfo findStockInfoByWarehouseAndGoods(@Param("warehouseId") Long warehouseId,@Param("goodsId") Long goodsId);
}
